package com.lxmes.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 入库单对象 cc_ruku_info
 *
 * @author 张志煜
 * @date 2022-11-27
 */
public class CcRukuInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称",type = Excel.Type.EXPORT)
    private String factoryName;

    /** 公司代码 */
    @Excel(name = "公司代码",type = Excel.Type.EXPORT)
    private String factoryCode;

    /** 入库单号 */
    @Excel(name = "入库单号",type = Excel.Type.EXPORT)
    private String danhao;
    /** 物料名称 */
    @Excel(name = "物料名称")
    private String itemName;
    /** 物料编码 */
    @Excel(name = "物料编号")
    private String itemCode;
    /** 物料编码 */
    @Excel(name = "物料子编号")
    private String itemId;
    /** 规格型号 */
    @Excel(name = "规格型号" ,type = Excel.Type.EXPORT)
    private String spec;

    /** 物料单位 */
    @Excel(name = "物料单位" ,type = Excel.Type.EXPORT)
    private String unit;
    /** 批次 */
    @Excel(name = "批次")
    private String lot;

    /** 入库数量 */
    @Excel(name = "入库数量")
    private BigDecimal rukuNum;

    /** 仓库编号 */
    @Excel(name = "仓库编号",type = Excel.Type.EXPORT)
    private String stockId;

    /** 仓库名称 */
    @Excel(name = "仓库名称",type = Excel.Type.EXPORT)
    private String stockName;

    /** 库区编码 */
    @Excel(name = "库区编码",type = Excel.Type.EXPORT)
    private String kuquCode;

    /** 库区名称 */
    @Excel(name = "库区名称",type = Excel.Type.EXPORT)
    private String kuquName;

    /** 库位编码 */
    @Excel(name = "库位编码")
    private String kuweiCode;
    /** 物料类型id */
    @Excel(name = "物料类型编码",type = Excel.Type.EXPORT )
    private String classId;

    /** 物料类型 */
    @Excel(name = "物料类型",type = Excel.Type.EXPORT)
    private String className;

    /** 入库类型 */
    @Excel(name = "入库类型",type = Excel.Type.EXPORT)
    private Long rukuType;

    /** 订单类型 */
    @Excel(name = "订单类型",type = Excel.Type.EXPORT)
    private String orderType;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderDanhao;

    /** 计划号 */
    @Excel(name = "计划号",type = Excel.Type.EXPORT)
    private String planId;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractCode;
    /** 客户代码 */
    @Excel(name = "客户代码")
    private String clientCode;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String clientName;

    /** 订单数量 */
    @Excel(name = "订单数量")
    private BigDecimal orderNum;

    /** 包装数量 */
    @Excel(name = "包装数量")
    private BigDecimal packingNum;

    /** 入库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rukuDate;
    /** 供应商 */
    @Excel(name = "供应商编码" ,type = Excel.Type.EXPORT)
    private Long supplyId;

    /** 供应商名称 */
    @Excel(name = "供应商名称",type = Excel.Type.EXPORT)
    private String supplyName;

    /** 价格 */
    private BigDecimal price;

    /** 总价 */
    @Excel(name = "总价")
    private BigDecimal totalPrice;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 托管标识 */
    @Excel(name = "托管标识",type = Excel.Type.EXPORT)
    private String isTuoguan;

    /** 质量状态 */
    @Excel(name = "质量状态")
    private String qualityState;

    /** 制造商编码 */
    @Excel(name = "制造商编码",type = Excel.Type.EXPORT)
    private String makerCode;

    /** 制造商名称 */
    @Excel(name = "制造商名称",type = Excel.Type.EXPORT)
    private String makerName;

    /** 尺寸 */
    @Excel(name = "尺寸" ,type = Excel.Type.EXPORT)
    private BigDecimal size;

    /** 单重 */
    @Excel(name = "单重" ,type = Excel.Type.EXPORT)
    private BigDecimal singleWeight;

    /** 总重 */
    @Excel(name = "总重",type = Excel.Type.EXPORT)
    private BigDecimal totalWeight;

    /** 使用状态 */
    @Excel(name = "使用状态",type = Excel.Type.EXPORT)
    private String useState;

    /** 颜色 */
    @Excel(name = "颜色",type = Excel.Type.EXPORT)
    private String color;

    /** 花纹 */
    @Excel(name = "花纹",type = Excel.Type.EXPORT)
    private String figure;

    /** 材质 */
    @Excel(name = "材质",type = Excel.Type.EXPORT)
    private String caizhi;

    /** 条形码 */
    @Excel(name = "条形码",type = Excel.Type.EXPORT)
    private String txm;

    /** 托盘码 */
    @Excel(name = "托盘码",type = Excel.Type.EXPORT)
    private String tpm;
    /** 结算月份 */
    @JsonFormat(pattern = "yyyy-MM")
    private String jiesuanMonth;
    /** 结算状态 */
    private String jiesuanState;

    /** 状态(0 初始化 1.已入库) */
    private Long state;
    private String[] warehouse;
    //采购单ID
    private Long purId;
    //出库单Id
    private Long ckId;
    //计划数量
    private BigDecimal planNum;

    //接收入库信息
    private List<CcRukuInfo> infoList;
    //是否生成
    private String isSc;
    private String startDate;
    private String endDate;

    public Long getCkId() {
        return ckId;
    }

    public void setCkId(Long ckId) {
        this.ckId = ckId;
    }

    public BigDecimal getPlanNum() {
        return planNum;
    }

    public void setPlanNum(BigDecimal planNum) {
        this.planNum = planNum;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setFactoryName(String factoryName)
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName()
    {
        return factoryName;
    }
    public void setFactoryCode(String factoryCode)
    {
        this.factoryCode = factoryCode;
    }

    public String getFactoryCode()
    {
        return factoryCode;
    }
    public void setDanhao(String danhao)
    {
        this.danhao = danhao;
    }

    public String getDanhao()
    {
        return danhao;
    }
    public void setRukuType(Long rukuType)
    {
        this.rukuType = rukuType;
    }

    public Long getRukuType()
    {
        return rukuType;
    }
    public void setOrderType(String orderType)
    {
        this.orderType = orderType;
    }

    public String getOrderType()
    {
        return orderType;
    }
    public void setOrderDanhao(String orderDanhao)
    {
        this.orderDanhao = orderDanhao;
    }

    public String getOrderDanhao()
    {
        return orderDanhao;
    }
    public void setPlanId(String planId)
    {
        this.planId = planId;
    }

    public String getPlanId()
    {
        return planId;
    }
    public void setContractCode(String contractCode)
    {
        this.contractCode = contractCode;
    }

    public String getContractCode()
    {
        return contractCode;
    }
    public void setRukuNum(BigDecimal rukuNum)
    {
        this.rukuNum = rukuNum;
    }

    public BigDecimal getRukuNum()
    {
        return rukuNum;
    }
    public void setOrderNum(BigDecimal orderNum)
    {
        this.orderNum = orderNum;
    }

    public BigDecimal getOrderNum()
    {
        return orderNum;
    }
    public void setPackingNum(BigDecimal packingNum)
    {
        this.packingNum = packingNum;
    }

    public BigDecimal getPackingNum()
    {
        return packingNum;
    }
    public void setRukuDate(Date rukuDate)
    {
        this.rukuDate = rukuDate;
    }

    public Date getRukuDate()
    {
        return rukuDate;
    }
    public void setItemName(String itemName)
    {
        this.itemName = itemName;
    }

    public String getItemName()
    {
        return itemName;
    }
    public void setItemId(String itemId)
    {
        this.itemId = itemId;
    }

    public String getItemId()
    {
        return itemId;
    }
    public void setSpec(String spec)
    {
        this.spec = spec;
    }

    public String getSpec()
    {
        return spec;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setLot(String lot)
    {
        this.lot = lot;
    }

    public String getLot()
    {
        return lot;
    }
    public void setSupplyId(Long supplyId)
    {
        this.supplyId = supplyId;
    }

    public Long getSupplyId()
    {
        return supplyId;
    }
    public void setSupplyName(String supplyName)
    {
        this.supplyName = supplyName;
    }

    public String getSupplyName()
    {
        return supplyName;
    }
    public void setStockId(String stockId)
    {
        this.stockId = stockId;
    }

    public String getStockId()
    {
        return stockId;
    }
    public void setStockName(String stockName)
    {
        this.stockName = stockName;
    }

    public String getStockName()
    {
        return stockName;
    }
    public void setKuquCode(String kuquCode)
    {
        this.kuquCode = kuquCode;
    }

    public String getKuquCode()
    {
        return kuquCode;
    }
    public void setKuquName(String kuquName)
    {
        this.kuquName = kuquName;
    }

    public String getKuquName()
    {
        return kuquName;
    }
    public void setKuweiCode(String kuweiCode)
    {
        this.kuweiCode = kuweiCode;
    }

    public String getKuweiCode()
    {
        return kuweiCode;
    }
    public void setItemCode(String itemCode)
    {
        this.itemCode = itemCode;
    }

    public String getItemCode()
    {
        return itemCode;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setTotalPrice(BigDecimal totalPrice)
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice()
    {
        return totalPrice;
    }
    public void setUnitPrice(BigDecimal unitPrice)
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice()
    {
        return unitPrice;
    }
    public void setClassId(String classId)
    {
        this.classId = classId;
    }

    public String getClassId()
    {
        return classId;
    }
    public void setClassName(String className)
    {
        this.className = className;
    }

    public String getClassName()
    {
        return className;
    }
    public void setIsTuoguan(String isTuoguan)
    {
        this.isTuoguan = isTuoguan;
    }

    public String getIsTuoguan()
    {
        return isTuoguan;
    }
    public void setQualityState(String qualityState)
    {
        this.qualityState = qualityState;
    }

    public String getQualityState()
    {
        return qualityState;
    }
    public void setMakerCode(String makerCode)
    {
        this.makerCode = makerCode;
    }

    public String getMakerCode()
    {
        return makerCode;
    }
    public void setMakerName(String makerName)
    {
        this.makerName = makerName;
    }

    public String getMakerName()
    {
        return makerName;
    }
    public void setSize(BigDecimal size)
    {
        this.size = size;
    }

    public BigDecimal getSize()
    {
        return size;
    }
    public void setSingleWeight(BigDecimal singleWeight)
    {
        this.singleWeight = singleWeight;
    }

    public BigDecimal getSingleWeight()
    {
        return singleWeight;
    }
    public void setTotalWeight(BigDecimal totalWeight)
    {
        this.totalWeight = totalWeight;
    }

    public BigDecimal getTotalWeight()
    {
        return totalWeight;
    }
    public void setUseState(String useState)
    {
        this.useState = useState;
    }

    public String getUseState()
    {
        return useState;
    }
    public void setColor(String color)
    {
        this.color = color;
    }

    public String getColor()
    {
        return color;
    }
    public void setFigure(String figure)
    {
        this.figure = figure;
    }

    public String getFigure()
    {
        return figure;
    }
    public void setCaizhi(String caizhi)
    {
        this.caizhi = caizhi;
    }

    public String getCaizhi()
    {
        return caizhi;
    }
    public void setTxm(String txm)
    {
        this.txm = txm;
    }

    public String getTxm()
    {
        return txm;
    }
    public void setTpm(String tpm)
    {
        this.tpm = tpm;
    }

    public String getTpm()
    {
        return tpm;
    }

    public List<CcRukuInfo> getInfoList() {
        return infoList;
    }

    public void setInfoList(List<CcRukuInfo> infoList) {
        this.infoList = infoList;
    }

    public Long getState() {
        return state;
    }

    public void setState(Long state) {
        this.state = state;
    }

    public String[] getWarehouse() {
        return warehouse;
    }

    public void setWarehouse(String[] warehouse) {
        this.warehouse = warehouse;
    }

    public Long getPurId() {
        return purId;
    }
    public void setPurId(Long purId) {
        this.purId = purId;
    }

    public String getIsSc() {
        return isSc;
    }

    public void setIsSc(String isSc) {
        this.isSc = isSc;
    }

    public String getClientCode() {
        return clientCode;
    }

    public void setClientCode(String clientCode) {
        this.clientCode = clientCode;
    }

    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public String getJiesuanMonth() {
        return jiesuanMonth;
    }

    public void setJiesuanMonth(String jiesuanMonth) {
        this.jiesuanMonth = jiesuanMonth;
    }

    public String getJiesuanState() {
        return jiesuanState;
    }

    public void setJiesuanState(String jiesuanState) {
        this.jiesuanState = jiesuanState;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryName", getFactoryName())
            .append("factoryCode", getFactoryCode())
            .append("danhao", getDanhao())
            .append("rukuType", getRukuType())
            .append("orderType", getOrderType())
            .append("orderDanhao", getOrderDanhao())
            .append("planId", getPlanId())
            .append("contractCode", getContractCode())
            .append("rukuNum", getRukuNum())
            .append("orderNum", getOrderNum())
            .append("packingNum", getPackingNum())
            .append("rukuDate", getRukuDate())
            .append("itemName", getItemName())
            .append("itemId", getItemId())
            .append("spec", getSpec())
            .append("unit", getUnit())
            .append("lot", getLot())
            .append("supplyId", getSupplyId())
            .append("supplyName", getSupplyName())
            .append("stockId", getStockId())
            .append("stockName", getStockName())
            .append("kuquCode", getKuquCode())
            .append("kuquName", getKuquName())
            .append("kuweiCode", getKuweiCode())
            .append("itemCode", getItemCode())
            .append("price", getPrice())
            .append("totalPrice", getTotalPrice())
            .append("unitPrice", getUnitPrice())
            .append("classId", getClassId())
            .append("className", getClassName())
            .append("isTuoguan", getIsTuoguan())
            .append("qualityState", getQualityState())
            .append("makerCode", getMakerCode())
            .append("makerName", getMakerName())
            .append("size", getSize())
            .append("singleWeight", getSingleWeight())
            .append("totalWeight", getTotalWeight())
            .append("useState", getUseState())
            .append("color", getColor())
            .append("figure", getFigure())
            .append("caizhi", getCaizhi())
            .append("txm", getTxm())
            .append("tpm", getTpm())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
